This disclosure relates generally to computer-based mechanisms for monitoring activity of a business application, and more particularly to an infrastructure for collecting, prefiltering and publication of local events for intersystem usage in a distributed business application system.
Business activity monitoring (BAM) is technology to proactively define, monitor and analyze information that represents opportunities and risks in an enterprise to maximize profitability and optimize efficiency. The data can be generated from external as well as internal processes. BAM supports operational performance management, i.e. knowing and understanding the historical, current, and predictive context of business processes, as well as details of key performance indicators (KPIs) and associated business activities.
Effective implementation of BAM includes three general steps. First, relevant data is gathered in an efficient and timely manner and in sufficient quantities to provide meaningful results. Second, the data is processed to identify and categorize factors relevant to specific concerns. Finally, the data is analyzed and the results displayed in a clear, user-friendly interface so personnel can take appropriate actions.
Enterprise business applications, such as customer relationship management (CRM), supply chain management (SCM), enterprise resource planning (ERP), product lifestyle management (PLM), and other applications, utilize a number of inbound and outbound communication channels for integrated operation across a distributed, often heterogeneous application system landscape.
An effective BAM platform requires an event-driven architecture that seamlessly integrates and leverages functionalities of legacy and existing operational platforms. Further, the degree of sophistication of a BAM solution comes from its ability to process and analyze events for timely, accurate alerts and simple user interface functionality. Finally, Processing and analytical functions, which are at the core of business activity monitoring, ensure that critical business indicators are correctly monitored. Key issues include scope and scale. Scope involves the types of rules that the solution supports, as well as the ability to obtain and maintain historical context. Scale entails the need for processing and analysis to produce results within a timely window after significant incidents occur.
FIG. 1 illustrates a use case for BAM, in which a BAM “listener” process 100 receives information about local events 102 that occur within model driven application components of a business suite of applications 104. Each component of the business suite of applications 104 operates on one or more business objects 106 which produce exposed business object services 108 for use by an end user or other component. Local events 102 must be communicated via synchronous and asynchronous communication channels 110 to the BAM listener process 100.
Unfortunately, communication capabilities of present systems are insufficient to adequately collect, filter, and publish events being generated in some components of a business application, and in particular existing systems and legacy components of the business application. For example, asynchronous services need to communicate their completion once consumed, but such communications are difficult to execute and manage from a global application perspective. There needs to be a common mechanism to signal an object state change to an instance, and which decides whether a monitoring event needs to be created.
Further, event resolution in a basic sense means that an application detects invalid business data or some deadline reached and fires an alert. This alert will be used by a Event Resolution Framework (or Event Resolution Center) that generates a resolution to the invalid data. Thus, the application alone must be able to detect the inconsistent, incorrect state of the application data. In most cases, the application is not able to detect inconsistencies, because the application may need additional data from other systems or because one monitoring event alone does not lead to an alert that can be visualized to an end-user.